<?xml version="1.0"?>
<doc>
    <assembly>
        <name>SharpConfig</name>
    </assembly>
    <members>
        <member name="T:SharpConfig.Configuration">
            <summary>
            Represents a configuration.
            Configurations contain one or multiple sections
            that in turn can contain one or multiple settings.
            The <see cref="T:SharpConfig.Configuration"/> class is designed
            to work with classic configuration formats such as
            .ini and .cfg, but is not limited to these.
            </summary>
        </member>
        <member name="M:SharpConfig.Configuration.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:SharpConfig.Configuration"/> class.
            </summary>
        </member>
        <member name="M:SharpConfig.Configuration.GetEnumerator">
            <summary>
            Gets an enumerator that iterates through the configuration.
            </summary>
        </member>
        <member name="M:SharpConfig.Configuration.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Gets an enumerator that iterates through the configuration.
            </summary>
        </member>
        <member name="M:SharpConfig.Configuration.Add(SharpConfig.Section)">
            <summary>
            Adds a section to the configuration.
            </summary>
            <param name="section">The section to add.</param>
            <exception cref="T:System.ArgumentNullException">When <paramref name="section"/> is null.</exception>
            <exception cref="T:System.ArgumentException">When the section already exists in the configuration.</exception>
        </member>
        <member name="M:SharpConfig.Configuration.Add(System.String)">
            <summary>
            Adds a section with a specific name to the configuration.
            </summary>
            <param name="sectionName">The name of the section to add.</param>
            <returns>The added section.</returns>
            <exception cref="T:System.ArgumentNullException">When <paramref name="sectionName"/> is null or empty.</exception>
        </member>
        <member name="M:SharpConfig.Configuration.Remove(System.String)">
            <summary>
            Removes a section from the configuration by its name.
            If there are multiple sections with the same name, only the first section is removed.
            To remove all sections that have the name name, use the RemoveAllNamed() method instead.
            </summary>
            <param name="sectionName">The case-sensitive name of the section to remove.</param>
            <returns>True if a section with the specified name was removed; false otherwise.</returns>
            
            <exception cref="T:System.ArgumentNullException">When <paramref name="sectionName"/> is null or empty.</exception>
        </member>
        <member name="M:SharpConfig.Configuration.Remove(SharpConfig.Section)">
            <summary>
            Removes a section from the configuration.
            </summary>
            <param name="section">The section to remove.</param>
            <returns>True if the section was removed; false otherwise.</returns>
        </member>
        <member name="M:SharpConfig.Configuration.RemoveAllNamed(System.String)">
            <summary>
            Removes all sections that have a specific name.
            </summary>
            <param name="sectionName">The case-sensitive name of the sections to remove.</param>
            
            <exception cref="T:System.ArgumentNullException">When <paramref name="sectionName"/> is null or empty.</exception>
        </member>
        <member name="M:SharpConfig.Configuration.Clear">
            <summary>
            Clears the configuration of all sections.
            </summary>
        </member>
        <member name="M:SharpConfig.Configuration.Contains(SharpConfig.Section)">
            <summary>
            Determines whether a specified section is contained in the configuration.
            </summary>
            <param name="section">The section to check for containment.</param>
            <returns>True if the section is contained in the configuration; false otherwise.</returns>
        </member>
        <member name="M:SharpConfig.Configuration.Contains(System.String)">
            <summary>
            Determines whether a specifically named section is contained in the configuration.
            </summary>
            <param name="sectionName">The name of the section.</param>
            <returns>True if the section is contained in the configuration; false otherwise.</returns>
            
            <exception cref="T:System.ArgumentNullException">When <paramref name="sectionName"/> is null or empty.</exception>
        </member>
        <member name="M:SharpConfig.Configuration.Contains(System.String,System.String)">
            <summary>
            Determines whether a specifically named section is contained in the configuration,
            and whether that section in turn contains a specifically named setting.
            </summary>
            <param name="sectionName">The name of the section.</param>
            <param name="settingName">The name of the setting.</param>
            <returns>True if the section and the respective setting was found; false otherwise.</returns>
            
            <exception cref="T:System.ArgumentNullException">When <paramref name="sectionName"/> or <paramref name="settingName"/> is null or empty.</exception>
        </member>
        <member name="M:SharpConfig.Configuration.RegisterTypeStringConverter(SharpConfig.ITypeStringConverter)">
            <summary>
            Registers a type converter to be used for setting value conversions.
            </summary>
            <param name="converter">The converter to register.</param>
            
            <exception cref="T:System.ArgumentNullException">When <paramref name="converter"/> is null.</exception>
            <exception cref="T:System.InvalidOperationException">When a converter for the converter's type is already registered.</exception>
        </member>
        <member name="M:SharpConfig.Configuration.DeregisterTypeStringConverter(System.Type)">
            <summary>
            Deregisters a type converter from setting value conversion.
            </summary>
            <param name="type">The type whose associated converter to deregister.</param>
            
            <exception cref="T:System.ArgumentNullException">When <paramref name="type"/> is null.</exception>
            <exception cref="T:System.InvalidOperationException">When no converter is registered for <paramref name="type"/>.</exception>
        </member>
        <member name="M:SharpConfig.Configuration.LoadFromFile(System.String)">
             <summary>
             Loads a configuration from a file auto-detecting the encoding and
             using the default parsing settings.
             </summary>
            
             <param name="filename">The location of the configuration file.</param>
            
             <returns>
             The loaded <see cref="T:SharpConfig.Configuration"/> object.
             </returns>
        </member>
        <member name="M:SharpConfig.Configuration.LoadFromFile(System.String,System.Text.Encoding)">
             <summary>
             Loads a configuration from a file.
             </summary>
            
             <param name="filename">The location of the configuration file.</param>
             <param name="encoding">The encoding applied to the contents of the file. Specify null to auto-detect the encoding.</param>
            
             <returns>
             The loaded <see cref="T:SharpConfig.Configuration"/> object.
             </returns>
             
             <exception cref="T:System.ArgumentNullException">When <paramref name="filename"/> is null or empty.</exception>
             <exception cref="T:System.IO.FileNotFoundException">When the specified configuration file is not found.</exception>
        </member>
        <member name="M:SharpConfig.Configuration.LoadFromStream(System.IO.Stream)">
             <summary>
             Loads a configuration from a text stream auto-detecting the encoding and
             using the default parsing settings.
             </summary>
            
             <param name="stream">The text stream to load the configuration from.</param>
            
             <returns>
             The loaded <see cref="T:SharpConfig.Configuration"/> object.
             </returns>
        </member>
        <member name="M:SharpConfig.Configuration.LoadFromStream(System.IO.Stream,System.Text.Encoding)">
             <summary>
             Loads a configuration from a text stream.
             </summary>
            
             <param name="stream">   The text stream to load the configuration from.</param>
             <param name="encoding"> The encoding applied to the contents of the stream. Specify null to auto-detect the encoding.</param>
            
             <returns>
             The loaded <see cref="T:SharpConfig.Configuration"/> object.
             </returns>
             
             <exception cref="T:System.ArgumentNullException">When <paramref name="stream"/> is null.</exception>
        </member>
        <member name="M:SharpConfig.Configuration.LoadFromString(System.String)">
             <summary>
             Loads a configuration from text (source code).
             </summary>
            
             <param name="source">The text (source code) of the configuration.</param>
            
             <returns>
             The loaded <see cref="T:SharpConfig.Configuration"/> object.
             </returns>
             
             <exception cref="T:System.ArgumentNullException">When <paramref name="source"/> is null.</exception>
        </member>
        <member name="M:SharpConfig.Configuration.LoadFromBinaryFile(System.String)">
             <summary>
             Loads a configuration from a binary file using the <b>default</b> <see cref="T:System.IO.BinaryReader"/>.
             </summary>
            
             <param name="filename">The location of the configuration file.</param>
            
             <returns>
             The loaded configuration.
             </returns>
             
             <exception cref="T:System.ArgumentNullException">When <paramref name="filename"/> is null or empty.</exception>
        </member>
        <member name="M:SharpConfig.Configuration.LoadFromBinaryFile(System.String,System.IO.BinaryReader)">
             <summary>
             Loads a configuration from a binary file using a specific <see cref="T:System.IO.BinaryReader"/>.
             </summary>
            
             <param name="filename">The location of the configuration file.</param>
             <param name="reader">  The reader to use. Specify null to use the default <see cref="T:System.IO.BinaryReader"/>.</param>
            
             <returns>
             The loaded configuration.
             </returns>
             
             <exception cref="T:System.ArgumentNullException">When <paramref name="filename"/> is null or empty.</exception>
        </member>
        <member name="M:SharpConfig.Configuration.LoadFromBinaryStream(System.IO.Stream)">
             <summary>
             Loads a configuration from a binary stream, using the <b>default</b> <see cref="T:System.IO.BinaryReader"/>.
             </summary>
            
             <param name="stream">The stream to load the configuration from.</param>
            
             <returns>
             The loaded configuration.
             </returns>
             
             <exception cref="T:System.ArgumentNullException">When <paramref name="stream"/> is null.</exception>
        </member>
        <member name="M:SharpConfig.Configuration.LoadFromBinaryStream(System.IO.Stream,System.IO.BinaryReader)">
             <summary>
             Loads a configuration from a binary stream, using a specific <see cref="T:System.IO.BinaryReader"/>.
             </summary>
            
             <param name="stream">The stream to load the configuration from.</param>
             <param name="reader">The reader to use. Specify null to use the default <see cref="T:System.IO.BinaryReader"/>.</param>
            
             <returns>
             The loaded configuration.
             </returns>
             
             <exception cref="T:System.ArgumentNullException">When <paramref name="stream"/> is null.</exception>
        </member>
        <member name="M:SharpConfig.Configuration.SaveToFile(System.String)">
             <summary>
             Saves the configuration to a file using the default character encoding, which is UTF8.
             </summary>
            
             <param name="filename">The location of the configuration file.</param>
        </member>
        <member name="M:SharpConfig.Configuration.SaveToFile(System.String,System.Text.Encoding)">
             <summary>
             Saves the configuration to a file.
             </summary>
            
             <param name="filename">The location of the configuration file.</param>
             <param name="encoding">The character encoding to use. Specify null to use the default encoding, which is UTF8.</param>
             
             <exception cref="T:System.ArgumentNullException">When <paramref name="filename"/> is null or empty.</exception>
        </member>
        <member name="M:SharpConfig.Configuration.SaveToStream(System.IO.Stream)">
             <summary>
             Saves the configuration to a stream using the default character encoding, which is UTF8.
             </summary>
            
             <param name="stream">The stream to save the configuration to.</param>
        </member>
        <member name="M:SharpConfig.Configuration.SaveToStream(System.IO.Stream,System.Text.Encoding)">
             <summary>
             Saves the configuration to a stream.
             </summary>
            
             <param name="stream">The stream to save the configuration to.</param>
             <param name="encoding">The character encoding to use. Specify null to use the default encoding, which is UTF8.</param>
             
             <exception cref="T:System.ArgumentNullException">When <paramref name="stream"/> is null.</exception>
        </member>
        <member name="M:SharpConfig.Configuration.SaveToBinaryFile(System.String)">
             <summary>
             Saves the configuration to a binary file, using the default <see cref="T:System.IO.BinaryWriter"/>.
             </summary>
            
             <param name="filename">The location of the configuration file.</param>
        </member>
        <member name="M:SharpConfig.Configuration.SaveToBinaryFile(System.String,System.IO.BinaryWriter)">
             <summary>
             Saves the configuration to a binary file, using a specific <see cref="T:System.IO.BinaryWriter"/>.
             </summary>
            
             <param name="filename">The location of the configuration file.</param>
             <param name="writer">  The writer to use. Specify null to use the default writer.</param>
             
             <exception cref="T:System.ArgumentNullException">When <paramref name="filename"/> is null or empty.</exception>
        </member>
        <member name="M:SharpConfig.Configuration.SaveToBinaryStream(System.IO.Stream)">
             <summary>
             Saves the configuration to a binary stream, using the default <see cref="T:System.IO.BinaryWriter"/>.
             </summary>
            
             <param name="stream">The stream to save the configuration to.</param>
        </member>
        <member name="M:SharpConfig.Configuration.SaveToBinaryStream(System.IO.Stream,System.IO.BinaryWriter)">
             <summary>
             Saves the configuration to a binary file, using a specific <see cref="T:System.IO.BinaryWriter"/>.
             </summary>
            
             <param name="stream">The stream to save the configuration to.</param>
             <param name="writer">The writer to use. Specify null to use the default writer.</param>
             
             <exception cref="T:System.ArgumentNullException">When <paramref name="stream"/> is null.</exception>
        </member>
        <member name="P:SharpConfig.Configuration.CultureInfo">
            <summary>
            Gets or sets the CultureInfo that is used for value conversion in SharpConfig.
            The default value is CultureInfo.InvariantCulture.
            </summary>
            
            <exception cref="T:System.ArgumentNullException">When a null reference is set.</exception>
        </member>
        <member name="P:SharpConfig.Configuration.ValidCommentChars">
            <summary>
            Gets the array that contains all valid comment delimiting characters.
            </summary>
        </member>
        <member name="P:SharpConfig.Configuration.PreferredCommentChar">
            <summary>
            Gets or sets the preferred comment char when saving configurations.
            The default value is '#'.
            </summary>
            
            <exception cref="T:System.ArgumentException">When an invalid character is set.</exception>
        </member>
        <member name="P:SharpConfig.Configuration.ArrayElementSeparator">
            <summary>
            Gets or sets the array element separator character for settings.
            The default value is ','.
            NOTE: remember that after you change this value while <see cref="T:SharpConfig.Setting"/> instances exist,
            to expect their ArraySize and other array-related values to return different values.
            </summary>
            
            <exception cref="T:System.ArgumentException">When a zero-character ('\0') is set.</exception>
        </member>
        <member name="P:SharpConfig.Configuration.IgnoreInlineComments">
            <summary>
            Gets or sets a value indicating whether inline-comments
            should be ignored when parsing a configuration.
            </summary>
        </member>
        <member name="P:SharpConfig.Configuration.IgnorePreComments">
            <summary>
            Gets or sets a value indicating whether pre-comments
            should be ignored when parsing a configuration.
            </summary>
        </member>
        <member name="P:SharpConfig.Configuration.SectionCount">
            <summary>
            Gets the number of sections that are in the configuration.
            </summary>
        </member>
        <member name="P:SharpConfig.Configuration.Item(System.Int32)">
            <summary>
            Gets or sets a section by index.
            </summary>
            <param name="index">The index of the section in the configuration.</param>
            
            <returns>
            The section at the specified index.
            Note: no section is created when using this accessor.
            </returns>
            
            <exception cref="T:System.ArgumentOutOfRangeException">When the index is out of range.</exception>
        </member>
        <member name="P:SharpConfig.Configuration.Item(System.String)">
             <summary>
             Gets or sets a section by its name.
             If there are multiple sections with the same name, the first section is returned.
             If you want to obtain all sections that have the same name, use the GetSectionsNamed() method instead.
             </summary>
            
             <param name="name">The case-sensitive name of the section.</param>
            
             <returns>
             The section if found, otherwise a new section with
             the specified name is created, added to the configuration and returned.
             </returns>
        </member>
        <member name="M:SharpConfig.Configuration.GetSectionsNamed(System.String)">
            <summary>
            Gets all sections that have a specific name.
            </summary>
            <param name="name">The case-sensitive name of the sections.</param>
            <returns>
            The found sections.
            </returns>
        </member>
        <member name="T:SharpConfig.ConfigurationElement">
            <summary>
            Represents the base class of all elements
            that exist in a <see cref="T:SharpConfig.Configuration"/>,
            such as sections and settings.
            </summary>
        </member>
        <member name="P:SharpConfig.ConfigurationElement.Name">
            <summary>
            Gets the name of this element.
            </summary>
        </member>
        <member name="P:SharpConfig.ConfigurationElement.Comment">
            <summary>
            Gets or sets the comment of this element.
            </summary>
        </member>
        <member name="P:SharpConfig.ConfigurationElement.PreComment">
            <summary>
            Gets the comment above this element.
            </summary>
        </member>
        <member name="M:SharpConfig.ConfigurationElement.ToString">
            <summary>
            Gets the string representation of the element without its comments.
            </summary>
        </member>
        <member name="M:SharpConfig.ConfigurationElement.ToString(System.Boolean)">
             <summary>
             Gets the string representation of the element.
             </summary>
            
             <param name="includeComments">Specify true to include the comments in the string; false otherwise.</param>
        </member>
        <member name="M:SharpConfig.ConfigurationElement.GetStringExpression">
            <summary>
            Gets the element's expression as a string.
            An example for a section would be "[Section]".
            </summary>
            <returns>The element's expression as a string.</returns>
        </member>
        <member name="T:SharpConfig.IgnoreAttribute">
            <summary>
            Represents an attribute that tells SharpConfig to
            ignore the subject this attribute is applied to.
            For example, if this attribute is applied to a property
            of a type, that property will be ignored when creating
            sections from objects and vice versa.
            </summary>
        </member>
        <member name="T:SharpConfig.ITypeStringConverter">
            <summary>
            Defines a type-to-string and string-to-type converter
            that is used for the conversion of setting values.
            </summary>
        </member>
        <member name="M:SharpConfig.ITypeStringConverter.ConvertToString(System.Object)">
            <summary>
            Converts an object to its string representation.
            </summary>
            <param name="value">The value to convert.</param>
            <returns>The object's string representation.</returns>
        </member>
        <member name="M:SharpConfig.ITypeStringConverter.ConvertFromString(System.String,System.Type)">
            <summary>
            Converts a string value to an object of this converter's type.
            </summary>
            <param name="value"></param>
            <param name="hint">
                A type hint. This is used rarely, such as in the enum converter.
                The enum converter's official type is Enum, whereas the type hint
                represents the underlying enum type.
                This parameter can be safely ignored for custom converters.
            </param>
            <returns>The converted object.</returns>
        </member>
        <member name="P:SharpConfig.ITypeStringConverter.ConvertibleType">
            <summary>
            The type that this converter is able to convert to and from a string.
            </summary>
        </member>
        <member name="T:SharpConfig.TypeStringConverter`1">
            <summary>
            Represents a type-to-string and string-to-type converter
            that is used for the conversion of setting values.
            </summary>
            <typeparam name="T">The type that this converter is able to convert.</typeparam>
        </member>
        <member name="M:SharpConfig.TypeStringConverter`1.ConvertToString(System.Object)">
            <summary>
            Converts an object to its string representation.
            </summary>
            <param name="value">The value to convert.</param>
            <returns>The object's string representation.</returns>
        </member>
        <member name="M:SharpConfig.TypeStringConverter`1.ConvertFromString(System.String,System.Type)">
            <summary>
            Converts a string value to an object of this converter's type.
            </summary>
            <param name="value"></param>
            <param name="hint">
                A type hint. This is used rarely, such as in the enum converter.
                The enum converter's official type is Enum, whereas the type hint
                represents the underlying enum type.
                This parameter can be safely ignored for custom converters.
            </param>
            <returns>The converted object.</returns>
        </member>
        <member name="P:SharpConfig.TypeStringConverter`1.ConvertibleType">
            <summary>
            The type that this converter is able to convert to and from a string.
            </summary>
        </member>
        <member name="T:SharpConfig.ParserException">
            <summary>
            Represents an error that occurred during
            the configuration parsing stage.
            </summary>
        </member>
        <member name="P:SharpConfig.ParserException.Line">
            <summary>
            Gets the line in the configuration that caused the exception.
            </summary>
        </member>
        <member name="T:SharpConfig.Setting">
            <summary>
            Represents a setting in a <see cref="T:SharpConfig.Configuration"/>.
            Settings are always stored in a <see cref="T:SharpConfig.Section"/>.
            </summary>
        </member>
        <member name="M:SharpConfig.Setting.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:SharpConfig.Setting"/> class.
            </summary>
        </member>
        <member name="M:SharpConfig.Setting.#ctor(System.String,System.Object)">
             <summary>
             Initializes a new instance of the <see cref="T:SharpConfig.Setting"/> class.
             </summary>
            
             <param name="name"> The name of the setting.</param>
             <param name="value">The value of the setting.</param>
        </member>
        <member name="P:SharpConfig.Setting.IsEmpty">
            <summary>
            Gets a value indicating whether this setting's value is empty.
            </summary>
        </member>
        <member name="P:SharpConfig.Setting.StringValueTrimmed">
            <summary>
            Gets the value of this setting as a string, with quotes removed if present.
            </summary>
        </member>
        <member name="P:SharpConfig.Setting.StringValue">
            <summary>
            Gets or sets the value of this setting as a string.
            Note: this is a shortcut to GetValue and SetValue.
            </summary>
        </member>
        <member name="P:SharpConfig.Setting.StringValueArray">
            <summary>
            Gets or sets the value of this setting as a string array.
            Note: this is a shortcut to GetValueArray and SetValue.
            </summary>
        </member>
        <member name="P:SharpConfig.Setting.IntValue">
            <summary>
            Gets or sets the value of this setting as an int.
            Note: this is a shortcut to GetValue and SetValue.
            </summary>
        </member>
        <member name="P:SharpConfig.Setting.IntValueArray">
            <summary>
            Gets or sets the value of this setting as an int array.
            Note: this is a shortcut to GetValueArray and SetValue.
            </summary>
        </member>
        <member name="P:SharpConfig.Setting.FloatValue">
            <summary>
            Gets or sets the value of this setting as a float.
            Note: this is a shortcut to GetValue and SetValue.
            </summary>
        </member>
        <member name="P:SharpConfig.Setting.FloatValueArray">
            <summary>
            Gets or sets the value of this setting as a float array.
            Note: this is a shortcut to GetValueArray and SetValue.
            </summary>
        </member>
        <member name="P:SharpConfig.Setting.DoubleValue">
            <summary>
            Gets or sets the value of this setting as a double.
            Note: this is a shortcut to GetValue and SetValue.
            </summary>
        </member>
        <member name="P:SharpConfig.Setting.DoubleValueArray">
            <summary>
            Gets or sets the value of this setting as a double array.
            Note: this is a shortcut to GetValueArray and SetValue.
            </summary>
        </member>
        <member name="P:SharpConfig.Setting.BoolValue">
            <summary>
            Gets or sets the value of this setting as a bool.
            Note: this is a shortcut to GetValue and SetValue.
            </summary>
        </member>
        <member name="P:SharpConfig.Setting.BoolValueArray">
            <summary>
            Gets or sets the value of this setting as a bool array.
            Note: this is a shortcut to GetValueArray and SetValue.
            </summary>
        </member>
        <member name="P:SharpConfig.Setting.DateTimeValue">
            <summary>
            Gets or sets the value of this settings as a <see cref="T:System.DateTime"/>.
            Note: this is a shortcut to GetValue and SetValue.
            </summary>
        </member>
        <member name="P:SharpConfig.Setting.DateTimeValueArray">
            <summary>
            Gets or sets the value of this setting as a <see cref="T:System.DateTime"/> array.
            Note: this is a shortcut to GetValueArray and SetValue.
            </summary>
        </member>
        <member name="P:SharpConfig.Setting.IsArray">
            <summary>
            Gets a value indicating whether this setting is an array.
            </summary>
        </member>
        <member name="P:SharpConfig.Setting.ArraySize">
            <summary>
            Gets the size of the array that this setting represents.
            If this setting is not an array, -1 is returned.
            </summary>
        </member>
        <member name="M:SharpConfig.Setting.GetValue(System.Type)">
             <summary>
             Gets this setting's value as a specific type.
             </summary>
            
             <param name="type">The type of the object to retrieve.</param>
             
             <exception cref="T:System.ArgumentNullException">When <paramref name="type"/> is null.</exception>
             <exception cref="T:System.InvalidOperationException">When <paramref name="type"/> is an array type.</exception>
             <exception cref="T:System.InvalidOperationException">When the setting represents an array.</exception>
        </member>
        <member name="M:SharpConfig.Setting.GetValueArray(System.Type)">
            <summary>
            Gets this setting's value as an array of a specific type.
            Note: this only works if the setting represents an array. If it is not, then null is returned.
            </summary>
            <param name="elementType">
                The type of elements in the array. All values in the array are going to be converted to objects of this type.
                If the conversion of an element fails, an exception is thrown.
            </param>
            <returns>The values of this setting as an array.</returns>
        </member>
        <member name="M:SharpConfig.Setting.GetValue``1">
             <summary>
             Gets this setting's value as a specific type.
             </summary>
            
             <typeparam name="T">The type of the object to retrieve.</typeparam>
             
             <exception cref="T:System.InvalidOperationException">When <typeparamref name="T"/> is an array type.</exception>
             <exception cref="T:System.InvalidOperationException">When the setting represents an array.</exception>
        </member>
        <member name="M:SharpConfig.Setting.GetValueArray``1">
            <summary>
            Gets this setting's value as an array of a specific type.
            Note: this only works if the setting represents an array. If it is not, then null is returned.
            </summary>
            <typeparam name="T">
                The type of elements in the array. All values in the array are going to be converted to objects of this type.
                If the conversion of an element fails, an exception is thrown.
            </typeparam>
            <returns>The values of this setting as an array.</returns>
        </member>
        <member name="M:SharpConfig.Setting.SetValue(System.Object)">
            <summary>
            Sets the value of this setting via an object.
            </summary>
            
            <param name="value">The value to set.</param>
        </member>
        <member name="M:SharpConfig.Setting.GetStringExpression">
            <summary>
            Gets the element's expression as a string.
            An example for a section would be "[Section]".
            </summary>
            <returns>The element's expression as a string.</returns>
        </member>
        <member name="T:SharpConfig.Section">
            <summary>
            Represents a group of <see cref="T:SharpConfig.Setting"/> objects.
            </summary>
        </member>
        <member name="M:SharpConfig.Section.#ctor(System.String)">
             <summary>
             Initializes a new instance of the <see cref="T:SharpConfig.Section"/> class.
             </summary>
            
             <param name="name">The name of the section.</param>
        </member>
        <member name="M:SharpConfig.Section.FromObject(System.String,System.Object)">
            <summary>
            Creates a new instance of the <see cref="T:SharpConfig.Section"/> class that is
            based on an existing object.
            Important: the section is built only from the public getter properties
            and fields of its type.
            When this method is called, all of those properties will be called
            and fields accessed once to obtain their values.
            Properties and fields that are marked with the <see cref="T:SharpConfig.IgnoreAttribute"/> attribute
            or are of a type that is marked with that attribute, are ignored.
            </summary>
            <param name="name">The name of the section.</param>
            <param name="obj"></param>
            <returns>The newly created section.</returns>
            
            <exception cref="T:System.ArgumentException">When <paramref name="name"/> is null or empty.</exception>
            <exception cref="T:System.ArgumentNullException">When <paramref name="obj"/> is null.</exception>
        </member>
        <member name="M:SharpConfig.Section.ToObject``1">
            <summary>
            Creates an object of a specific type, and maps the settings
            in this section to the public properties and writable fields of the object.
            Properties and fields that are marked with the <see cref="T:SharpConfig.IgnoreAttribute"/> attribute
            or are of a type that is marked with that attribute, are ignored.
            </summary>
            
            <typeparam name="T">
            The type of object to create.
            Note: the type must be default-constructible, meaning it has a public default constructor.
            </typeparam>
            
            <returns>The created object.</returns>
            
            <remarks>
            The specified type must have a public default constructor
            in order to be created.
            </remarks>
        </member>
        <member name="M:SharpConfig.Section.ToObject(System.Type)">
            <summary>
            Creates an object of a specific type, and maps the settings
            in this section to the public properties and writable fields of the object.
            Properties and fields that are marked with the <see cref="T:SharpConfig.IgnoreAttribute"/> attribute
            or are of a type that is marked with that attribute, are ignored.
            </summary>
            
            <param name="type">
            The type of object to create.
            Note: the type must be default-constructible, meaning it has a public default constructor.
            </param>
            
            <returns>The created object.</returns>
            
            <remarks>
            The specified type must have a public default constructor
            in order to be created.
            </remarks>
            
            <exception cref="T:System.ArgumentNullException">When <paramref name="type"/> is null.</exception>
        </member>
        <member name="M:SharpConfig.Section.GetValuesFrom(System.Object)">
            <summary>
            Assigns the values of an object's public properties and fields to the corresponding
            <b>already existing</b> settings in this section.
            Properties and fields that are marked with the <see cref="T:SharpConfig.IgnoreAttribute"/> attribute
            or are of a type that is marked with that attribute, are ignored.
            </summary>
            
            <param name="obj">The object from which the values are obtained.</param>
            
            <exception cref="T:System.ArgumentNullException">When <paramref name="obj"/> is null.</exception>
        </member>
        <member name="M:SharpConfig.Section.SetValuesTo(System.Object)">
            <summary>
            Assigns the values of this section to an object's public properties and fields.
            Properties and fields that are marked with the <see cref="T:SharpConfig.IgnoreAttribute"/> attribute
            or are of a type that is marked with that attribute, are ignored.
            </summary>
            
            <param name="obj">The object that is modified based on the section.</param>
            
            <exception cref="T:System.ArgumentNullException">When <paramref name="obj"/> is null.</exception>
        </member>
        <member name="M:SharpConfig.Section.GetEnumerator">
            <summary>
            Gets an enumerator that iterates through the section.
            </summary>
        </member>
        <member name="M:SharpConfig.Section.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Gets an enumerator that iterates through the section.
            </summary>
        </member>
        <member name="M:SharpConfig.Section.Add(SharpConfig.Setting)">
            <summary>
            Adds a setting to the section.
            </summary>
            <param name="setting">The setting to add.</param>
            
            <exception cref="T:System.ArgumentNullException">When <paramref name="setting"/> is null.</exception>
            <exception cref="T:System.ArgumentException">When the specified setting already exists in the section.</exception>
        </member>
        <member name="M:SharpConfig.Section.Add(System.String)">
            <summary>
            Adds a setting with a specific name and empty value to the section.
            </summary>
            <param name="settingName">The name of the setting to add.</param>
            <returns>The added setting.</returns>
            <exception cref="T:System.ArgumentNullException">When <paramref name="settingName"/> is null or empty.</exception>
        </member>
        <member name="M:SharpConfig.Section.Add(System.String,System.Object)">
            <summary>
            Adds a setting with a specific name and value to the section.
            </summary>
            <param name="settingName">The name of the setting to add.</param>
            <param name="settingValue">The initial value of the setting to add.</param>
            <returns>The added setting.</returns>
            <exception cref="T:System.ArgumentNullException">When <paramref name="settingName"/> is null or empty.</exception>
        </member>
        <member name="M:SharpConfig.Section.Remove(System.String)">
            <summary>
            Removes a setting from the section by its name.
            If there are multiple settings with the same name, only the first setting is removed.
            To remove all settings that have the name name, use the RemoveAllNamed() method instead.
            </summary>
            <param name="settingName">The case-sensitive name of the setting to remove.</param>
            <returns>True if a setting with the specified name was removed; false otherwise.</returns>
            
            <exception cref="T:System.ArgumentNullException">When <paramref name="settingName"/> is null or empty.</exception>
        </member>
        <member name="M:SharpConfig.Section.Remove(SharpConfig.Setting)">
            <summary>
            Removes a setting from the section.
            </summary>
            <param name="setting">The setting to remove.</param>
            <returns>True if the setting was removed; false otherwise.</returns>
        </member>
        <member name="M:SharpConfig.Section.RemoveAllNamed(System.String)">
            <summary>
            Removes all settings that have a specific name.
            </summary>
            <param name="settingName">The case-sensitive name of the settings to remove.</param>
            
            <exception cref="T:System.ArgumentNullException">When <paramref name="settingName"/> is null or empty.</exception>
        </member>
        <member name="M:SharpConfig.Section.Clear">
            <summary>
            Clears the section of all settings.
            </summary>
        </member>
        <member name="M:SharpConfig.Section.Contains(SharpConfig.Setting)">
            <summary>
            Determines whether a specified setting is contained in the section.
            </summary>
            <param name="setting">The setting to check for containment.</param>
            <returns>True if the setting is contained in the section; false otherwise.</returns>
        </member>
        <member name="M:SharpConfig.Section.Contains(System.String)">
             <summary>
             Determines whether a specifically named setting is contained in the section.
             </summary>
             <param name="settingName">The case-sensitive name of the setting.</param>
             <returns>True if the setting is contained in the section; false otherwise.</returns>
            
             <exception cref="T:System.ArgumentNullException">When <paramref name="settingName"/> is null or empty.</exception>
        </member>
        <member name="P:SharpConfig.Section.SettingCount">
            <summary>
            Gets the number of settings that are in the section.
            </summary>
        </member>
        <member name="P:SharpConfig.Section.Item(System.Int32)">
            <summary>
            Gets or sets a setting by index.
            </summary>
            <param name="index">The index of the setting in the section.</param>
            
            <returns>
            The setting at the specified index.
            Note: no setting is created when using this accessor.
            </returns>
            
            <exception cref="T:System.ArgumentOutOfRangeException">When <paramref name="index"/> is out of range.</exception>
        </member>
        <member name="P:SharpConfig.Section.Item(System.String)">
             <summary>
             Gets or sets a setting by its name.
             If there are multiple settings with the same name, the first setting is returned.
             If you want to obtain all settings that have the same name, use the GetSettingsNamed() method instead.
             </summary>
            
             <param name="name">The case-sensitive name of the setting.</param>
            
             <returns>
             The setting if found, otherwise a new setting with
             the specified name is created, added to the section and returned.
             </returns>
        </member>
        <member name="M:SharpConfig.Section.GetSettingsNamed(System.String)">
            <summary>
            Gets all settings that have a specific name.
            </summary>
            <param name="name">The case-sensitive name of the settings.</param>
            <returns>
            The found settings.
            </returns>
        </member>
        <member name="M:SharpConfig.Section.GetStringExpression">
            <summary>
            Gets the element's expression as a string.
            An example for a section would be "[Section]".
            </summary>
            <returns>The element's expression as a string.</returns>
        </member>
        <member name="T:SharpConfig.SettingValueCastException">
            <summary>
            Represents an error that occurs when a string value could not be converted to a specific instance.
            </summary>
        </member>
    </members>
</doc>
